package Guigu9;
/*
 * 类中属性的使用
 * 
 * 成员变量 vs 局部变量
 *1、相同点
 *      1.1 定义变量的格式：数据类型 变量名 = 变量值
 *      1.2 先声明，后使用
 *      1.3 变量都有其对应的作用域。
 * 
 *2、不同点
 *      2.1 在类中声明的位置的不同
 *      成员变量：是直接定义在类的一对{}内
 *		局部变量：声明在方法内，方法形象，代码块内，构造器形参，构造器内部的变量
 * 
 * 
 *      2.2 关于权限修饰符的不同
 *      成员变量：可以在声明成员变量时，指明其权限，使用权限修饰符。
 *      常用的权限修饰符：private、public、缺省、protected----->>>封装性
 * 		局部变量：不可以使用权限修饰符。
 * 
 * 		2.3 默认初始化值的情况
 * 		成员变量：有默认的初始值，看课本。
 * 		局部变量：无默认的初始值，使用前必须先赋值。
 * 
 * 		2.4 在内存中加载的位置
 * 		成员变量：加载到堆空间中（非static的）
 * 		局部变量：加载到栈空间中
 * 
 * 
 * 
 */
public class UserTest {

	public static void main(String[] args) {
		User u1 = new User();
		System.out.println(u1.name);
		System.out.println(u1.age);
		System.out.println(u1.isMale);
		u1.eat();
		u1.talk("中国话");
	}

}

class User
{
	//属性(成员变量)
	String name;
	int age = 1;
	boolean isMale;
	
	public void talk(String language)//局部变量
	{
		System.out.println("我们使用"+language+"进行交流");
	}
	
	public void eat()
	{
		String food = "烙饼";//局部变量
		System.out.println("北方人喜欢吃"+food);
	}
}